AWS 搭建 SS 实现科学上网

AWS 搭梯子 去墙外

今天要和大家分享如何自己快速搭建一个ss服务器,实现科学上网。

准备

1.亚马逊的账号,像啥购物账号,以及开发者账号都可以。
2.一张信用卡。

为什么使用亚马逊的呢?

免费 :亚马逊提供了长达一年的每个月750小时(750/31 = 24.19)的免费时间,也就是说每天时刻在线都不要紧。但是缺点是每个月只有15GB的流量,超出之后就要按流量计费了,所以得实现绑定信用卡,进行代扣。所以爱看视频的小伙伴,就比较难受了。如果发现自己流量异常请及时关闭服务。

开始

1.访问亚马逊开发者平台 注册或登录账户,就不用多说了(注意:名字街道之类的都需要英文)。
2.然后填写信用卡信息,如果没有信用卡的话,可以去某宝买一个虚拟信用卡(搜索:AWS 虚拟信用卡),大概也就几块钱,有一定的几率不成功,不过我的运气还好。
3.完善后面的信息即可。
4.注册完毕后大概需要等一段时间,后台审核通过后即可开始后面的步骤。

创建EC2实例

1.在服务中找到EC2,点击创建EC2实例。
2.输入创建的EC2实例名称。
3.选择操作系统,个人觉得Ubuntu(默认的版本16.04LTS)就很好。
4.选择实例类型免费的话就是t2.micro(1个核心vCPU,1GB内存,8GB存储)。
5.然后会生成一个密钥对,该密钥对用于登录服务器,需要妥善保存好,生成的格式为(*.pem)
6.等待创建完毕后,系统会分配一个实例。
7.进入后台后,启动EC2实例。

  1. 使用后台给的示例,登录EC2,注意,当前的密钥对存放的位置。
    login_ec2

安装SS服务

1.更新软件列表

1
sudo apt-get install update

2.更新软件

1
sudo apt-get install upgrade

3.安装vim和pip

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
sudo apt-get install vim python-pip python-dev build-essential
```

4.安装shadowsocks

```bash
sudo pip install shadowsocks
```

5.配置多账户启动

> 创建并编辑 sudo vim /etc/shadowsocks.json

```json
{
"server": "0.0.0.0",
"local_address": "127.0.0.1",
"port_password": {
"40000": "123123",
"40001": "123123"
},
"timeout": "600",
"method": "aes-256-cfb",
"fast_open": false
}
```

上面是最简单的多账户配置,配置了两个账户,端口为40000和40001,后面为其密码,可以根据需要进行配置。

6.启动服务

> $ sudo ssserver -c /etc/shadowsocks.json start > /var/log/shadowsocks.log 2>&1 &

7.终止服务

> $ sudo ssserver -d stop

#### 配置AWS出入站规则

1.AWS默认给开启了22端口的ssh服务,想要能使我们配置的端口也能连接就需要配置防火墙的出入站规则。

2.在安全组中找到我们的实例,编辑入站规则。

![入站规则](http://cdn.eilene.cn/input_rule.png)
3.同样编辑出站规则。

![出站规则](http://cdn.eilene.cn/output_rule.png)

为了偷懒我就这样配置了,可以根据自己的需要和安全性要求进行配置。

#### 连接

1.配置完毕后,可以使用Mac, Linux, windows, ios,android 的客户端进行连接。

2.在后台实例上找到自己的实例的ipv4地址,在客户端配置即可,当然也可使用云解析,让自己的域名解析一下自己的ip,可以免去记忆ip地址的烦恼。

3.如果没有意外,应该是可以成功的,小伙伴们有什么问题,可以给我留言哦。

最后附上ss客户端的下载链接

> Shadowsocks下载链接: [shadowsocks客户端](https://shadowsocks.org/en/download/clients.html)
> 如果发现ss客户端不可用,请尝试低版本,通常会在windows下出现这种问题。

#### 参考文章

1.[如何在亚马逊 EC2 上搭建 Shadowsocks 服务器](https://vivaxyblog.github.io/2015/10/27/build-shadowsocks-server-on-amazon-ec2.html)
2.[AWS+Shadowsocks配置](https://medium.com/@3ird/aws-shadowsocks%E9%85%8D%E7%BD%AE-d1c5568af4b)
3.[Shadowsocks Python版一键安装脚本【失效](https://www.5yun.org/1068.html)

***

**google cloud上使用CentOS 7 搭建SS,与上面Ubuntu相似**

更新于2019年6月10日

***

#### 开放端口

```bash

$ firewall-cmd --permanent --zone=public --add-port=50000/tcp
# out: success

# 查看所有暴露端口
$ firewall-cmd --zone=public --list-ports

# 更新防火墙规则,否则出现 No route to host 错误
$ firewall-cmd --reload

设置开机自启

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# vim /lib/systemd/system/shadowsocks.service

[Unit]
Description=shadowsocks
After=network.target

[Service]
Type=oneshot
ExecStart=ssserver -c /etc/shadowsocks.json start > /var/log/shadowsocks.log
ExecStop=ssserver -d stop
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

开启BBR加速

1
2
3
4
$ sudo yum install -y wget
$ wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
$ chmod 700 bbr.sh
$ ./bbr.sh

安装完成之后,脚本提示需要重启VPS,重启后可查看内核是否成功

1
2
3
4
5
6
7
8
9
$ uname -r
$ sysctl net.ipv4.tcp_available_congestion_control
# out: net.ipv4.tcp_available_congestion_control = bbr cubic reno
$ sysctl net.ipv4.tcp_congestion_control
# out: net.ipv4.tcp_congestion_control = bbr
$ sysctl net.core.default_qdisc
# out: net.core.default_qdisc = fq
$ lsmod | grep bbr
# out: 有tcp_bbr即成功